package k1_exercise;

import java.util.Scanner;

public class Loop_allNumber {

    /**
     * 判断一个数是否是完全数
     * （完数指的是一个数的所有因子数的和等于这个数本身，例如 6=1+2+3,即6就是完全数）
     */
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数字：");
        int number = scanner.nextInt();

        //初始化所有因数的和
        int sum = 0;

        //从1开始到数字的一半，一次判断是否为因数
        for (int i = 1; i <= number/2; i++) {
            //如果能被数字整除的就是因数，做求和
            if(number%i==0){
                sum+=i;
            }
        }

        //所有因数之和与原数字一致就是完数，否则不是完数
        if(sum==number){
            System.out.println(number+"是完数");
        }else{
            System.out.println(number+"不是完数");
        }
    }

}
